package com.sinochem.yunlian.ship.common.util;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.StringUtils;

public class DataParseUtil {

	/**
	 * 
	 * @Description: 解析数据 (目前仅支持获取数字 包含（Long、Integer、 Fload、 Double）以及含"万"字的汉字自动解析为"0000")
	 */
	public static List<String> parseData(String data) {
		
		if (StringUtils.isEmpty(data)) {
			return null;
		}
		StringBuffer sbuffer = new StringBuffer();
		// 解析数据 (目前仅支持获取数字 包含（Long、Integer、 Fload、 Double）以及含"万"字的汉字自动解析为"0000")
		for (int i = 0; i < data.length(); i++) {
		
			if (Character.isDigit(data.charAt(i)) || data.charAt(i) == '.') {
				sbuffer.append(data.charAt(i));
			} else if (data.charAt(i) == '万') {
				sbuffer.append("0000");
			} else {
				sbuffer.append(",");
			}
		}
		ArrayList<String> strs = new ArrayList<String>(10);

		for (String st : sbuffer.toString().split(",")) {
			
			if (StringUtils.isNotEmpty(st)) {
				// 添加数字
				strs.add(st);
			}
		}
		return strs;
	}
	
	
	public static void main(String[] args) {
		
		
		List<String> lists = parseData("3万以上");
		BigDecimal start = null;
		BigDecimal end = null;
		
		if (lists != null && !lists.isEmpty()) {
			
			switch (lists.size()) {
			case 1:
				start = new BigDecimal(lists.get(0));
				System.out.println(start);
				break;
			case 2:
				start = new BigDecimal(lists.get(0));
				end = new BigDecimal(lists.get(1));
				System.out.println(start);
				System.out.println(end);
				break;

			default:
				System.out.println("数据:" + lists);
				break;
			}
			
		}
	}
}
